﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Gerencial_Fisio_Nutry.Tela
{
    public partial class Estoque : Form
    {
        public Estoque(int cod_produto)
        {
            InitializeComponent();
            carregar(cod_produto);
        }
        public void carregar(int cod_produto)
        {
            Banco.MetodoBanco banco = new Banco.MetodoBanco();
            Logica.Produto prod = banco.carregarProdutoByCodigo(cod_produto);

            dgVEntrada.DataSource = new Banco.MetodoBanco().entradasDoProduto(cod_produto);

            tbCodigo.Text =  prod.cod_Produto.ToString("00000");
            tbReferencia.Text = prod.referencia;
            tbEstoque.Text = banco.estoqueDoProduto(cod_produto).ToString("000.00");
            tbPonteiro.Text =   banco.ponteiroDaEntradaDoProduto(cod_produto).ToString("0000");

        }

        public void preencherPainel(int cod_entrada)
        {
            if (cod_entrada == 0) 
                return;

            DataTable dtt = new Banco.MetodoBanco().entradaByCod_entrada(cod_entrada);
            tbNNF.Text = dtt.Rows[0].ItemArray.GetValue(0).ToString();
            tbEstoqueNota.Text =  Convert.ToDouble (dtt.Rows[0].ItemArray.GetValue(1).ToString()).ToString("0.00"); 
            tbEstoqueAtual.Text = Convert.ToDouble ( dtt.Rows[0].ItemArray.GetValue(2).ToString()).ToString("0.00");
            tbPrecoCompra.Text   =Convert.ToDouble (dtt.Rows[0].ItemArray.GetValue(3).ToString()).ToString ("000.00");
            tbDataValidade.Text = Convert.ToDateTime( dtt.Rows[0].ItemArray.GetValue(4).ToString()).ToShortDateString();

        }
      

        private void removerTodosToolStripMenuItem_Click(object sender, EventArgs e)
        {
            pAlterar.Enabled = true;
            pAlterar.Visible = true;
            preencherPainel(cod_entrada);

        }
        int cod_entrada = 0;
        private void dgVEntrada_RowEnter(object sender, DataGridViewCellEventArgs e)
        {

            try
            {
               cod_entrada =int.Parse(dgVEntrada.Rows[e.RowIndex].Cells[0].Value.ToString());
            }
            catch
            {
                cod_entrada = 0;
            }
        }

        private void btAlterarEstoque_Click(object sender, EventArgs e)
        {
            Banco.MetodoBanco banc = new Banco.MetodoBanco();
            if (banc.temPonteiro(int.Parse(tbCodigo.Text), cod_entrada))
                banc.atualizaPonteiro(int.Parse(tbCodigo.Text), cod_entrada);
            

        }

        private void tbEstoque_TextChanged(object sender, EventArgs e)
        {

        }

        private void btEstoque_Click(object sender, EventArgs e)
        {
            Banco.MetodoBanco banc = new Banco.MetodoBanco();
            banc.atualizaEntrada(cod_entrada, double.Parse(tbPrecoCompra.Text), tbDataValidade.Text);

            pAlterar.Enabled = false;
        }

    }
}
